home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
B-Book Series
/
(k)b5.d64
/
sort'ids.l
< prev
next >
Wrap
Text File
|
2007-02-28
|
1KB
|
42 lines
9000 //
9010 // 3 SORT IDS ROUTINES FOLLOW
9020 // ALSO REQUIRES QUICKSORT
9030 //
9040 PROC READ'IDS
9050 PRINT "READING DISK ID FILE"
9060 ID'FILE:=9
9070 OPEN FILE ID'FILE,MASTER$+"DISK'IDS.DATA",READ
9080 COUNT:=0
9090 WHILE NOT EOF(ID'FILE) AND COUNT<MAX'NUM'DISKS DO
9100 COUNT:+1
9110 READ FILE ID'FILE: ID$(COUNT)
9120 ENDWHILE
9130 CLOSE FILE ID'FILE
9140 ENDPROC READ'IDS
9150 //
9160 PROC SORT'IDS
9170 PRINT "SORTING DISK IDS"
9180 QUICKSORT(ID$,1,COUNT,2)
9190 ENDPROC SORT'IDS
9200 //
9210 PROC WRITE'SORTED
9220 NEW'FILE:=10
9230 PRINT "WRITING NEW SORTED DISK ID FILE"
9240 DELETE MASTER$+"NEW'IDS"
9250 OPEN FILE NEW'FILE,MASTER$+"NEW'IDS",WRITE
9260 LAST'ID$:=""
9270 FOR X:=1 TO COUNT DO
9280 IF ID$(X)>LAST'ID$ THEN // AVOID DUPLICATES
9290 WRITE FILE NEW'FILE: ID$(X)
9300 LAST'ID$:=ID$(X)
9310 ENDIF
9320 ENDFOR X
9330 CLOSE FILE NEW'FILE
9340 DELETE MASTER$+"OLD'IDS.DATA"
9350 PASS "R"+MASTER$+"OLD'IDS.DATA=DISK'IDS.DATA"
9360 PASS "R"+MASTER$+"DISK'IDS.DATA=NEW'IDS"
9370 ENDPROC WRITE'SORTED
9380 //
9390 // END OF SORT ID ROUTINES
9400 //